package com.example.ymm.modules1.service.hl.ex;

import com.example.ymm.base.BaseService;
import com.example.ymm.model.TableList;
import com.example.ymm.model.YmPageDto;
import com.example.ymm.modules1.entity.hl.ex.ExUserPaper;
import com.example.ymm.modules1.query.hl.ex.ExUserPaperQueryCriteria;
import com.example.ymm.modules1.service.dto.heng.ex.MyPaperLog;
import com.example.ymm.modules1.service.dto.heng.ex.RankUserItemDto;

import java.util.List;

public interface ExUserPaperService extends BaseService<ExUserPaper> {


    TableList<MyPaperLog> list(ExUserPaperQueryCriteria criteria, YmPageDto ymPage);

    List<ExUserPaper> queryAll(ExUserPaperQueryCriteria criteria);

    List<MyPaperLog> myPaperLogs(String userName);

    /**
     * 个人排名
     * @param criteria
     * @return
     */
    List<RankUserItemDto> getPaperUserRank(ExUserPaperQueryCriteria criteria);


    /**
     * 团队排名
     * @param criteria
     * @return
     */
    List<RankUserItemDto>  getPaperTeamRank(ExUserPaperQueryCriteria criteria);


    /**
     * 自动结束 面试 考试模块
     */
    void autoCloseUserGroup();


    /**
     * 个人试卷重新考试-按模块来重考
     */
    void userPaperBrakeGroup(String userPaperId,String publishGroupId);


    /**
     * 个人试卷重新考试-这张试卷重考
     */
    void userPaperBrakeAll(String userPaperId);


}
